
The VolumeBreak operator is a volumetric geometry fracturing tool, based
on volumeBreaker, that will instantly create sub-geometry
within any mesh - geometry that perfectly fits together and fills the
given volume. With volumeBreaker cebas brings a Hollywood-quality destruction
tool to 3ds MAX. VolumeBreaker
was developed in consultation with, and to meet the very exacting demands
of, VFX artists working on multi-million-dollar movies.
VolumeBreak can be applied to virtually any mesh, including meshes that
are 'lazy' and not a fully enclosed volume. VolumeBreaker
will attempt to compensate for any errors within the mesh, such as unwelded
vertices and open edges. The sub-geometry created is output as individual
"fragment" particles, accessible within thinkingParticles by
any available operator.
ON - (Bool) This input data
stream determines whether the operator is considered 'on' or 'off.' You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator. For example, if you
set this operator's Activation parameter to 100% and control the ON input
dynamically, you can instantly fragment a particle shape at that time.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Born Particle - outputs
the currently created particle information for the fragment particle.
Use this to modify specific particle properties.

Group - sets the particle group in which the fragment particles
are born.
Activate - defines how fragmented the particle shape will be.
100% means completely fragmented. 0% means no fragmentation. Usually you
would want to animate this amount. This can be done dynamically in a variety
of ways, including but not limited to the Timer operator or the Counter
operator (or even a simple animated Float helper).
From To - sets the method and order of releasing fragments. You
may choose from multiple "release" directions for the fragments.
Keep in mind that volumeBreaker is all about "volume" and this
means fragments are created inside of an object and so the release direction
plays an important role! Check out the options as shown below:

Max Recursion
- defines the maximum recursion depth for secondary breaking of an already
broken object. The higher this number the finer it will be broken. Be
aware that just a few recursions may create millions or even billions
of triangles!
Use Light - when checked, illumination strength of picked light
sources can be used to define the Hierarchical breaking of an object.
Threshold - defines the illumination level (brightness) that needs
to be present at the point to initiate a fragmentation of the FGroup.
Note that this brightness is tested at the center of VB cell.
Pick - lets you pick any light in the scene
Rem - removes the selected light form the list of lights
Use Helper - check this option to use any Helper object in the
scene to trigger a Fragmentation
Threshold - sets the "trigger" distance for the helper
object. This world space value sets the absolute distance at which the
fragmentation process should start. Again, this distance is tested from
the center of the VB cell (i.e. the VB fragment).
Pick - click this button to add scene object to the list of fragmentation
triggers.
Rem - click this button to remove the selected helper object from
the list of fragmentation trigger helpers.
Use Map - when checked a texture map is used to initiate the breaking
off from a FGroup.
Threshold - defines the breaking trigger value for the hierarchy
levels by using a standard 3ds Max texture map. The trigger values are
defined as: black color = 0 and white color = 1.
Spreading Size% - a radius set in world units, relative to the
bounding box of the object. Using this feature will create a progressive
"breaking" effect of an object. This "search" or affect
radius is increased in size over time (controlled by Spreading
Time) it's perfect to simulate shock waves running through a
complex object hierarchy. All objects (picked for this operator) falling
into this radius will be broken off , without testing
any other possible trigger events (Map,Light etc)!
Spreading Time - defines the time the radius needs to grow in
size (in frames; standard 3ds Max system time).
Spreading Gradient - lets you define the animation curve of the
spreading radius, this works similarly to an ease in or ease out curve.
The gradient is defined as this: the left hand side of the gradient represents
radius size 0 the right hand side represents size 100%. A Spreading
Time value of 30 frames will look "into" this gradient
30 times (30 samples). This method of control offers full control over
the radius size animation. A black color will create a radius of 0 while
a white color in the gradient will create a size of 100%.
Speed - sets the speed the fragments should obtain after they
have been released.
Variation - adds some randomness to the Speed value. The higher
the variation value the more difference in speed the particles will have.
Direction - defines the direction the fragments fly off their
original mesh. There are several options to choose from:

X,Y,Z - sets the fragment direction to be either along the X,Y
or Z axis.
Spherical - choose this to have the fragments radiate out of the
object's center
Cylindrical X,Y,Z - defines the travel direction of the fragments
in cylindrical manner
Activate - choose this option to use the axis, as it was set in
the From To activation menu, above.
Variation - adds some randomness to the direction value. The higher
the variation value the more difference in speed the particles will have.

The default fracturing method used by volumeBreaker is
based on a Voronoi
tessellation; with Raster, you control the size and spacing of the
cell tessellation. However, any particle Group may also be selected to
define the "breaking cells" instead of a regular raster.
Cells - when a particle group is selected the Raster related functionality
is turned off. As shown below, the drop down menu will give access to
the particle groups as they have been defined in thinkingParticles.

Raster - the raster size defines the minimum spacing between cells
and therefore controls the size of the cells created. Be warned that smaller
raster sizes will produce a LOT of geometry and could take some time to
calculate. This value is measured as a percentage of the bounding box
size with 100% being as big as the bounding box of the object. We recommend
testing with values in the 5-10% range before going too much lower.
![]() |
![]() |
![]() |
| Raster: 150mm | Raster: 250mm | Raster: 400mm |
| Density: 1500 | Density: 1500 | Density: 1500 |
Density - controls how many
cells are placed relative to the centers defined by the raster size. This
alters both the size and the distribution of the cells created.
![]() |
![]() |
![]() |
| Raster: 250mm | Raster: 250mm | Raster: 250mm |
| Density: 300 | Density: 750 | Density: 2000 |
Random Seed - sets the random
seed used to generate the initial cell distribution.
Material ID - This sets the material ID number of all the interior
faces that are created by volumeBreaker. All external faces maintain their
current material IDs and UVW mapping co-ordinates.
Max Chunks - This defines the maximum number of cells that will
be created by volumeBreaker. This is useful to avoid long calculation
times when creating particularly dense geometry. The number of cells actually
created by volumeBreaker is shown below this control
to assist you in optimizing your final result.
ZSnap - defines the maximum distance to the cutting plane, beyond
which a new vertex is not created. This feature is used to avoid vertices
being too close together, think of it as a minimum distance between vertices
on the same 'chunk' in the volumeBreaker solution. Use
this function to avoid generating a huge amount of thin ultra small triangles
which can cause render errors.
WARNING:
Very high values for the ZSnap offset can result in meshes that interpenetrate,
these will be illegal for any rigid body simulation that attempts to use
such meshes.
Weld Distance - defines
the distance to be used to weld two or more Vertices into one, measured
as a percentage of the elements bounding box.
Scale X,Y,Z - defines for each single axis a scaling/stretching
factor for the volume raster
|
|
|
|
ZSnap: 0mm |
ZSnap: 100mm |
These sample images show an exaggerated Adjust Plane effect so that
you can understand what this function does, you certainly don't want to
use values this high in your actual scenes.